User:Jpbowen/Apparat (software)
This article needs additional citations for verification. (March 2014) |
Developer(s) | Joa Ebert |
---|---|
Preview release | 1.0 RC9
/ 1 February 2011 |
Written in | Scala |
Platform | Java platform |
Type | Optimizer |
License | GNU Lesser General Public License |
Website | github |
Apparat is an open-source language manipulation and optimization framework development project.[1]
Overview
[edit]The Apparat software framework is for the ActionScript language released under the GNU Lesser General Public License (LGPL). It may also be used to perform static code analysis like reaching definitions and dominance analysis.[citation needed] The framework is inspired by Soot and written in the Scala programming language on the Java platform.[citation needed] It contains command-line tools to work with SWF files.
The project was initially hosted by Google on the Google Codefacility[2] but has since moved to GitHub.[3]
Dump
[edit]The Dump tool extracts information of a compiled SWF file by analyzing its bytecode and structure. It can generate UML diagrams and inheritance graphs.[citation needed]
TDSI
[edit]TDSI is a command-line tool which allows ActionScript developers to use the fast Alchemy opcodes. The use of predefined functions will be replaced with the corresponding bytecode resulting in a significant speed improvement.[citation needed]
- Example
The following example shows the behaviour of TDSI. Since the call to a static method is considered slow[4] it will be replaced with the corresponding Alchemy opcode.
ActionScript:
Memory.writeInt( 1, 0 );
Pseudo bytecode:
GetLex Memory PushByte 1 PushByte 0 CallVoid writeInt, 2
After inline expansion:
PushByte 1 PushByte 0 WriteInt
TAAS
[edit]TreeAddressActionScript (TAAS) is an intermediate representation of ActionScript Bytecode in optional SSA form. The TAAS compiler is an optimizing compiler supporting:[citation needed]
See also
[edit]References
[edit]- ^ "apparat-framework". Google Groups. Google. Retrieved 28 March 2014.
- ^ "Apparat". Google Code. Google. Retrieved 28 March 2014.
- ^ Apparat "Apparat". GitHub. Retrieved 28 March 2014.
{{cite web}}
: Check|url=
value (help) - ^ "Performance testing static methods versus instance methods". Kalen Gibbons. Retrieved 2009-09-29.
External links
[edit]- Apparat at GitHub
- Apparat at Google Code
Category:Projects established in 2011 Category:2011 introductions Category:Free software projects Category:Free software programmed in Java Category:Free computer programming tools Category:Free UML tools Category:Google software